﻿namespace BotDetector.Core.Utilities
{
    public static class Constants
    {
        private static double minProbabilityToStartWebSearch = double.Parse(System.Configuration.ConfigurationSettings.AppSettings["minProbabilityToStartWebSearch"]);
        private static double maxProbabilityToStartWebSearch = double.Parse(System.Configuration.ConfigurationSettings.AppSettings["maxProbabilityToStartWebSearch"]);

        private static string bayesClassifierPath = System.Configuration.ConfigurationSettings.AppSettings["bayesClassifierFile"];
        private static string svmClassifierPath = System.Configuration.ConfigurationSettings.AppSettings["svmClassifierFile"];

        private static string nonbotTrainPath = System.Configuration.ConfigurationSettings.AppSettings["nonbotTrainPath"];
        private static string botTrainPath = System.Configuration.ConfigurationSettings.AppSettings["botTrainPath"];

        private static string nonbotQueuePath = System.Configuration.ConfigurationSettings.AppSettings["nonbotQueuePath"];
        private static string botQueuePath = System.Configuration.ConfigurationSettings.AppSettings["botQueuePath"];

        private static string botLabel = System.Configuration.ConfigurationSettings.AppSettings["botLabel"];
        private static string nonbotLabel = System.Configuration.ConfigurationSettings.AppSettings["nonbotLabel"];

        private static string vocabularyIDF = System.Configuration.ConfigurationSettings.AppSettings["vocabularyIDF"];
        private static string vocabularyPOS = System.Configuration.ConfigurationSettings.AppSettings["vocabularyPOS"];

        private static string rootUriBing = System.Configuration.ConfigurationSettings.AppSettings["rootUriBing"];
        private static string apiKeyBing = System.Configuration.ConfigurationSettings.AppSettings["apiKeyBing"];
        private static string apiKeyGoogle = System.Configuration.ConfigurationSettings.AppSettings["apiKeyGoogle"];
        private static string searchEngineIdGoogle = System.Configuration.ConfigurationSettings.AppSettings["searchEngineIdGoogle"];

        private static string classifierPath = System.Configuration.ConfigurationSettings.AppSettings["classifierPath"];
        private static string classifierTrainPath = System.Configuration.ConfigurationSettings.AppSettings["classifierTrainPath"];

        public static double MinProbabilityToStartWebSearch { get { return minProbabilityToStartWebSearch; } }
        public static double MaxProbabilityToStartWebSearch { get { return maxProbabilityToStartWebSearch; } }
        public static string SvmClassifierPath { get { return classifierPath + "\\" + svmClassifierPath; } }
        public static string BayesClassifierPath { get { return classifierPath + "\\" + bayesClassifierPath; } }
        public static string SvmClassifierTrainPath { get { return classifierTrainPath + "\\" + svmClassifierPath; } }
        public static string BayesClassifierTrainPath { get { return classifierTrainPath + "\\" + bayesClassifierPath; } }
        public static string BotLabel { get { return botLabel; } }
        public static string NonbotLabel { get { return nonbotLabel; } }
        public static string BotQueuePath { get { return botQueuePath; } }
        public static string NonbotQueuePath { get { return nonbotQueuePath; } }
        public static string BotTrainPath { get { return botTrainPath; } }
        public static string NonbotTrainPath { get { return nonbotTrainPath; } }
        public static string VocabularyIDF { get { return classifierPath + "\\" + vocabularyIDF; } }
        public static string VocabularyPOS { get { return classifierPath + "\\" + vocabularyPOS; } }
        public static string VocabularyIDFTrain { get { return classifierTrainPath + "\\" + vocabularyIDF; } }
        public static string VocabularyPOSTrain { get { return classifierTrainPath + "\\" + vocabularyPOS; } }
        public static string ClassifierPath { get { return classifierPath; } }
        public static string ClassifierTrainPath { get { return classifierTrainPath; } }
        public static string RootUriBing { get { return rootUriBing; } }
        public static string ApiKeyBing { get { return apiKeyBing; } }
        public static string ApiKeyGoogle { get { return apiKeyGoogle; } }
        public static string SearchEngineIdGoogle { get { return searchEngineIdGoogle; } }
    }
}
